<template>
  <!--显示-->
  <div class="form-item">
    <span v-if="$isEmpty(item.defaultValue)">暂无</span>
    <!--文本域 textarea-->
    <p v-else-if="item.editType=='textarea'" class="p" v-html="item.defaultValue.replace(/[\n\r]/g,'<br>')"></p>

    <!--复合输入框 selectInput-->
    <!--时间范围 timerange-->
    <!--日期范围 daterange/datetimerange-->
    <span v-else-if="['selectInput','daterange','timerange','datetimerange','year','month'].includes(item.editType)">{{$isEmpty(item.defaultLabel)?'':item.defaultValue.join('-')}}</span>

    <!--代码类型 checkbox，select，radio，cascader-->
    <!--多选框 checkbox-->
    <span v-else-if="item.editType==='checkbox'">{{$isEmpty(item.defaultLabel)?'':item.defaultLabel.join(',')}}</span>
    <!--级联选择器 cascader-->
    <span v-else-if="item.editType==='cascader'">{{$isEmpty(item.defaultLabel)?'':item.defaultLabel.replace(/,/g,' ')}}</span>

    <span v-else-if="['select','radio'].includes(item.editType)">{{item.defaultLabel}}</span>

    <!--上传文件 upload-->
    <div class="upload-box" v-else-if="item.editType==='upload'">
      <ul class="show-upload">
        <li v-for="(o,i) in uploadFiles(item)" :key="i">
          <a class="box" :href="o.url" :class="o.type==='img'?'':'box-file '+o.type" target="_blank">
            <img v-if="o.type==='img'" :src="o.url" :alt="o.name">
            <p v-else>{{o.name}}</p>
          </a>
        </li>
      </ul>
    </div>

<!--
    &lt;!&ndash;评分 Rate &ndash;&gt;
    <el-rate v-else-if="item.editType==='rate'"
             v-model="item.defaultValue"
             :disabled="item.disabled"
             :show-score="item.showScore"
             :show-text="item.showText"
             score-template="{value}"
    >
    </el-rate>
-->

    <span v-else>{{!$isEmpty(item.defaultLabel)?item.defaultLabel:item.defaultValue}}{{$isEmpty(item.unit)?'':item.unit}}</span>

  </div>
</template>
<script>
export default {
  name: "FormItem",
  props: ["item"],
  methods: {
    uploadFiles(item) {
      if (!this.$isEmpty(item.defaultValue)) {
        let uid = item.defaultValue.split(",");
        let name = item.defaultLabel.split(",");
        let files = [];
        for (let [i, elem] of uid.entries()) {
          let type = "undefined";
          if (name[i]) {
            type = name[i].split(".").pop();
          }
          files.push({
            url: "/zftal-xgxt-web/filemgr/file/preview.zf?uid=" + elem,
            uid: elem,
            name: name[i],
            type: ["bmp", "jpg", "jpeg", "png", "gif", "undefined"].includes(
              type
            )
              ? "img"
              : type
          });
        }
        return files;
      }
    }
  }
};
</script>
